char* Rstrchr(char* s, char x)
{// addr = 0x0804D397
    int i;
    signed int _v8;
    char _v24;
    char* _v28;
    char _v40;
    _unknown_ r6;
    _unknown_ _t20;
    signed int _t23;
    _unknown_ _t27;

    _v24 = x;
     *__esp = s;
    _t23 = L0806E770(__esp, _t27);
    _v8 = _t23;
    if(( *s & 255) != 0) {
        while(1) {
            __eax = _v8;
            __eax = _v8 - 1;
            __eax =  &(s[_v8 - 1]);
            __eax = (s[_v8 - 1]) & 255;
            __eflags = __al;
            if(__al == 0) {
                break;
            }
            __eax = _v8;
            __eax = _v8 - 1;
            __eax =  &(s[_v8 - 1]);
            _v40 = _v24;
             *__esp =  &(s[_v8 - 1]);
            __eax = L0806E360(__esp);
            __eflags = __eax;
            if(__eax == 0) {
                _v8 = _v8 - 1;
                continue;
            }
            __eax = _v8;
            __eax = _v8 - 1;
            _v28 =  &(s[_v8 - 1]);
            return _v28;
        }
        _v28 = 0;
        return _v28;
    }
    _v28 = 0;
    return _v28;
}